-- PARA INGRESAR NACIONALIDAD LUEGO DE INGRESAR LA PREGUNTA 4

CREATE OR REPLACE TRIGGER AGREGAR_NACIONALIDAD
AFTER INSERT
ON RESPUESTA_TEXTO
FOR EACH ROW WHEN (NEW.ID_ENCUESTA=1 AND NEW.ID_PREGUNTA=4)
DECLARE 
NOM NUMBER;
NUMERO NUMBER;
CED VARCHAR2(10);
BEGIN
SELECT CEDULA_EXALUMNO INTO CED FROM EXALUMNO_ENCUESTAE WHERE EXALUMNO_ENCUESTAE.ID_ENCUESTA=1 AND EXALUMNO_ENCUESTAE.NUMERO=:NEW.NUMERO;
SELECT COUNT(*) INTO NOM FROM NACIONALIDAD WHERE NOMBRE=:NEW.TEXTO;
IF NOM = 0
THEN
INSERT INTO NACIONALIDAD (ID_NACIONALIDAD,NOMBRE) VALUES (INCREMENTO_NACIONALIDAD.NEXTVAL,:NEW.TEXTO);
INSERT INTO NACIONALIDAD_PERSONA (ID_NACIONALIDAD,CEDULA) VALUES (INCREMENTO_NACIONALIDAD.CURRVAL,CED);
ELSE 
SELECT ID_NACIONALIDAD INTO NUMERO FROM NACIONALIDAD WHERE NOMBRE=:NEW.TEXTO;
INSERT INTO NACIONALIDAD_PERSONA (ID_NACIONALIDAD,CEDULA) VALUES (NUMERO,CED);
END IF;
END;
/

-------
-- PARA INGRESAR GENERO_PERSONA LUEGO DE LA PREGUNTA 3

CREATE OR REPLACE TRIGGER AGREGAR_GENERO
AFTER INSERT
ON RESPUESTA_OPCION
FOR EACH ROW WHEN (NEW.ID_ENCUESTA=1 AND NEW.ID_PREGUNTA=3)
DECLARE 
CED VARCHAR2(10);
BEGIN
SELECT CEDULA_EXALUMNO INTO CED FROM EXALUMNO_ENCUESTAE WHERE EXALUMNO_ENCUESTAE.ID_ENCUESTA=1 AND EXALUMNO_ENCUESTAE.NUMERO=:NEW.NUMERO;
IF :NEW.NUMERO_OPCION=1
THEN
INSERT INTO GENERO_PERSONA (ID_GENERO,CEDULA) VALUES (1,CED);
ELSE
IF :NEW.NUMERO_OPCION=2
THEN 
INSERT INTO GENERO_PERSONA (ID_GENERO,CEDULA) VALUES (2,CED);
END IF;
END IF;
END;
/


-----
-- PARA AGREGAR ETNIA Y ETNIA_PERSONA 

CREATE OR REPLACE TRIGGER AGREGAR_ETNIA
AFTER INSERT
ON RESPUESTA_OPCION
FOR EACH ROW WHEN (NEW.ID_ENCUESTA=1 AND NEW.ID_PREGUNTA=5)
DECLARE 
CED VARCHAR2(10);
BEGIN
SELECT CEDULA_EXALUMNO INTO CED FROM EXALUMNO_ENCUESTAE WHERE EXALUMNO_ENCUESTAE.ID_ENCUESTA=1 AND EXALUMNO_ENCUESTAE.NUMERO=:NEW.NUMERO;
IF :NEW.NUMERO_OPCION>=1 AND :NEW.NUMERO_OPCION<=4
THEN
INSERT INTO ETNIA_PERSONA (ID_ETNIA,CEDULA) VALUES (:NEW.NUMERO_OPCION,CED);
--ELSE
--INSERT INTO ETNIA (ID_ETNIA,NOMBRE) VALUES (INCREMENTO_ETNIA.NEXTVAL,);
--INSERT INTO ETNIA_PERSONA (ID_ETNIA,CEDULA) VALUES (INCREMENTO_ETNIA.CURRVAL,CED);
END IF;
END;
/